#ifndef MU_LEXER_H
#define MU_LEXER_H

#include <string>

#include "token.h"

class Lexer {
public:
  Lexer() : pos(-1) {}

  void set_code(const std::wstring &code);

  Token next();

private:
  Token parse_number();

  Token parse_string();

  Token parse_id_keyword_bool();

private:
  std::wstring src;
  std::size_t pos;
};

#endif //MU_LEXER_H
